#include <iostream>
#include <unordered_map>
using namespace std;
// class Person 
// {
// public:
//     virtual void BuyTicket() 
//     { 
//         cout << "买票-全价" << endl;
//     }
// };
// class Student : public Person
// {
// public:
//     virtual void BuyTicket()
//     {
//         cout<<"买票-半价"<<endl;
//     }
// };
// void Func(Person& p)//子类传入会被切片，所以可以不用const
// {
//     p.BuyTicket();
// }

class Person 
{
public:
    ~Person()
    {cout<<"Person()"<<endl;}
};
class Student : public Person
{
public:
    ~Student()
    {cout<<"Student()"<<endl;}
};
int main()
{
    Person* p1=new Person;
    Person* p2=new Student;
    delete p1;
    delete p2;
}